package site.eblog.service;

import java.util.List;
import java.util.Set;

import site.eblog.entity.Role;

import site.eblog.entity.User;

public interface UserService {

	/**
	 * 按登录名来查找user
	 * @param loginName
	 * @return
	 */
	public User findByName(String loginName);
	/**
	 * 根据user id 查询user_role表，得到role-id，在role表查询按role-id查询rule name
	 * @param user
	 * @return
	 */
	public Set<String> getRolesName(User user);
	
	/**
	 * 根据user id 查询user_role表，得到role-id，在role表查询按role-id查询rule name
	 * @param user
	 * @return
	 */
	public List<Role> getRoleList(User user);
	
	/**
	 * 根据role-id在permission表里面查询permission name
	 * @param id
	 * @return
	 */
	public List<String> getPermissionsName(Integer id);
	
	/**
	 * 用户注册
	 * @param user
	 * @return
	 */
	public int insertUser(User user);
	/**
	 * 注册user后更新user_role表，普通注册roleId为2，admin新建的roleId为1
	 * @param user
	 * @return
	 */
	public int insertUserRole(User user);
	
	/**
	 * 修改userinfo
	 * @param user
	 * @return
	 */
	public int editUserInfo(User user);
	
	/**
	 * get所有用户
	 * @return
	 */
	public List<User> getUsers();
	
	/**
	 * deluser
	 * @param userName
	 * @return
	 */
	public int delUser(String userName);
	
	/**
	 * 成功del用户后把user_role对应的也del
	 * @return
	 */
	public int delUserRole(int userId);
}
